/*
  Do not add internal modules or types here
*/

import DxfParser from 'dxf-json'
import { 
  // consts
  BlockTypeFlag,
  ColorCode,
  UndeterminedBlockColor,
  SPLINE_SUBDIVISION,
  TESSELLATION_ANGLE,
  DimensionType,
  AttachmentPoint,
  DimensionTextLineSpacing,
  DimensionTextVertical,
  DimensionZeroSuppression,
  DimensionZeroSuppressionAngular,
  DimensionTextHorizontal,
  DimensionToleranceTextVertical,
  HatchSolidFill,
  HatchAssociativity,
  HatchStyle,
  HatchPatternType,
  HatchBoundaryAnnotation,
  HatchGradientFlag,
  HatchGradientColorFlag,
  BoundaryPathTypeFlag,
  BoundaryPathEdgeType,
  DefaultDxfHeaderVariables,
  ReservedLineweight,
  Measurement,
  ObscuredLineTypes,
  INDEXED_CHUNK_SIZE,
  ViewportStatusFlag,
  RenderMode,
  UCSPerViewport,
  OrthographicType,
  DefaultLightingType,
  // ENTITY
  ShadowMode,
  AttributeFlag,
  AttDefMTextFlag,
  FaceEdgeInvisibility,
  ImageFlags,
  ImageClippingBoundaryType,
  ImageClipMode,
  LeaderCreationFlag,
  LWPolylineFlag,
  MTextDrawingDirection,
  PolylineFlag,
  SmoothType,
  TextGenerationFlag,
  TextHorizontalAlign,
  TextVerticalAlign,
  VertexFlag,
  ImageDisplayFlag,
  // OBJECT
  LayoutControlFlag,
  PlotPaperUnit,
  PlotType,
  ShadePlotMode,
  ShadePlotResolution,
  // shared
  isMatched,
  // TABLE
  DimStyleVariable,
  LineTypeElementType,
  getAcadColor
} from 'dxf-json'

// types
import type { 
  // BLOCK
  DxfBlock,
  // ENTITY
  CommonDxfEntity,
  ArcEntity,
  AttdefEntity,
  AttributeEntity,
  BodyEntity,
  CircleEntity,
  DimensionEntityCommon,
  AlignedDimensionEntity,
  AngularDimensionEntity,
  OrdinateDimensionEntity,
  RadialDiameterDimensionEntity,
  DimensionEntity,
  EllipseEntity,
  FaceEntity,
  HatchEntity,
  GradientHatchEntity,
  BoundaryPath,
  BoundaryPathEdge,
  PolylineBoundaryPath,
  EdgeBoundaryPath,
  LineEdge,
  ArcEdge,
  EllipseEdge,
  SplineEdge,
  HatchDefinitionLine,
  ImageEntity,
  InsertEntity,
  LeaderEntity,
  LineEntity,
  LWPolylineEntity,
  LWPolylineVertex,
  MeshEntity,
  MTextEntity,
  MultiLeaderEntity,
  MultiLeaderLeaderSection,
  MultiLeaderLeaderLine,
  MultiLeaderBreak,
  PlotStyleType,
  PointEntity,
  PolylineEntity,
  RayEntity,
  RegionEntity,
  SectionEntity,
  SolidEntity,
  Solid3DEntity,
  SplineEntity,
  TextEntity,
  ToleranceEntity,
  VertexEntity,
  ViewportEntity,
  WipeoutEntity,
  XLineEntity,
  // OBJECT
  CommonDXFObject,
  DictionaryDXFObject,
  LayoutDXFObject,
  PlotSettingDXFObject,
  SpatialFilterDXFObject,
  XRecordDXFObject,
  // XDATA
  XData,
  XDataEntry,
  // TABLE
  DxfTable,
  CommonDxfTableEntry,
  BlockRecordTableEntry,
  LayerTableEntry,
  LTypeTableEntry,
  LineTypeElement,
  StyleTableEntry,
  VPortTableEntry,
  // shared
  ParsedDxf,
  ColorIndex,
  ColorInstance,
  DxfHeaderVariable,
  DxfHeader,
  Point2D,
  Point3D,
  Bound
} from 'dxf-json'
